High-availability systems typically have multiple boards or cards arranged in parallel slots in a chassis or backplane. With this type of scheme, boards or cards may be removed from, and inserted into a live backplane at will. A board may have a large capacitance, and the backplane may have some inductance between the power supply and the board connector. Fast changes in current through a switch between the board and the backplane to charge a large capacitive load may cause a power droop or ringing on the backplane due to the fast change in current though the backplane inductance. This can result in undervoltage and overvoltage conditions in the boards, cards or chips on the backplane power supply line.
Each plug-in module usually has a local Hot Swap™ controller, ensuring that power is safely applied to that board during both rigorous hot-swap events, and steady-state conditions. The Hot Swap™ controller allows a board to be safely inserted to and removed from a live backplane. The Hot Swap™ controller must protect against large inrush currents, over-voltage and under-voltage faults, and backplane voltage transients.
When circuit boards are inserted into a live backplane, power supply bypass capacitors can draw a large transient current or inrush current from the power bus as they charge. A Hot Swap™ controller limits this inrush current to acceptable levels, allowing an operator to insert boards quickly and easily without having to power-down the system. Without this orderly application of load current, the board and connectors could be severely damaged and the backplane voltage may be pulled down or ring.
A Hot Swap™ device typically communicates with its system controller to provide power supply status information using a multi-wire built-in interface such as an I2C interface. The system controller may be provided on the backplane and may have a different ground level than a Hot Swap™ device.
To support data communications with such a system controller, the I2C interface contains an input-only clock port SCL and a bidirectional data port SDA split into two ports: an input data port SDAI and an output data port SDAO. The I2C bus is controlled by the system controller that acts as a bus master device and instructs a slave device when it can access the bus. Each slave has a unique address. When the master device accesses a slave, it sends the address and a read/write bit. Then, the addressed slave acknowledges the connection and the master can send or receive data to or from the slave.
An I2C bus for supporting communications between devices having different ground levels normally requires an optocoupler for each of three lines SCL, SDAI and SDAO to provide level shifting. These optocouplers are relatively expensive compared to other components of the system and increase the cost of the system. Therefore, it would be desirable to enable a customer to configure an interface to the system controller so as to reduce the number of the optocouplers required to support this interface.